import service from '@/utils/request'

/** 获取用户的菜单
 *  返回的字段：id,pid,name,url,icon,sort,create_time
 *  无参数
 */
export const getMenuNav = () => {
  return service.get('/api/sys/menu_nav')
}

/** 获取菜单的用户权限
 *  返回的字段：id,pid,name,url,icon,sort,create_time
 *  无参数
 */
export const getMenuAuth = () => {
  return service.get('/api/sys/menu_authority')
}

/** 系统所有菜单-树结构列表
 *  无参数 ?
 */
export const getMenuTree = (type) => {  
	// 菜单类型 0：菜单  1：按钮  2：接口
	const menuType = type === 2 ? 2 : 0

	// return service.get('/api/sys/menu_list?type=' + menuType)
  return service.get('/api/sys/menu_list', { params: {type: menuType} })
}

/** 获取单条菜单信息    
 *  id int64
 *  以下两种写法，哪个好？
 */
export const getMenuInfo = (id) => {
//   return service.get('/api/sys/menu', { params: { id: id } })
  return service.get('/api/sys/menu?id=' + id)
}

/** 新增菜单
 *  Id         uint   `json:"id" form:"id"`
    Type       int8   `json:"type" form:"type"`
    Name       string `json:"name" form:"name" binding:"required"`
    Pid        uint   `json:"pid" form:"pid"`
    ParentName string `json:"parentName" form:"parentName"`
    Url        string `json:"url" form:"url"`
    Authority  string `json:"authority" form:"authority"`
    Sort       int32  `json:"sort" form:"sort"`
    Icon       string `json:"icon" form:"icon"`
    OpenStyle  int8   `json:"openStyle" form:"openStyle"
 */
export const addMenu = (data) => {
  return service.post('/api/sys/menu', data)
}

/** 修改菜单
 *  同上吧
 */
export const editMenu = (data) => {
  return service.put('/api/sys/menu', data)
}

/** 删除菜单
 *  id int64
 */
export const deleteMenu = (id) => {
  return service.delete('/api/sys/menu', { data: { id: id } })
}
